/* DATEPICKER POR DEFECTO */
function dpDefault(obj) {
	$("#" + obj).datepicker(
			{
				changeYear : true,
				changeMonth : true,
				closeText : 'Cerrar',
				prevText : '&#x3c;Ant',
				nextText : 'Sig&#x3e;',
				currentText : 'Hoy',
				monthNames : [ 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo',
						'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre',
						'Noviembre', 'Diciembre' ],
				monthNamesShort : [ 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun',
						'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic' ],
				dayNames : [ 'Domingo', 'Lunes', 'Martes', 'Miercoles',
						'Jueves', 'Viernes', 'Sabado' ],
				dayNamesShort : [ 'Dom', 'Lun', 'Mar', 'Mi&eacute;', 'Juv',
						'Vie', 'S&aacute;b' ],
				dayNamesMin : [ 'Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa' ],
				weekHeader : 'Sm',
				firstDay : 0,
				dateFormat : 'yy-mm-dd',
				isRTL : false,
				showMonthAfterYear : false,
				yearSuffix : ''
			});
	$("#" + obj).attr("readonly", true);
}

/* DATEPICKER DESDE UN ANIO ATRAS (DESDE) HASTA EL ANIO ACTUAL */
function dpAnioDesdeHastaHoy(obj, anioDesde) {
	var f = new Date();
	var yearactual = f.getFullYear();
	$("#" + obj)
			.datepicker(
					{
						changeYear : true,
						changeMonth : true,
						closeText : 'Cerrar',
						prevText : '&#x3c;Ant',
						nextText : 'Sig&#x3e;',
						currentText : 'Hoy',
						monthNames : [ 'Enero', 'Febrero', 'Marzo', 'Abril',
								'Mayo', 'Junio', 'Julio', 'Agosto',
								'Septiembre', 'Octubre', 'Noviembre',
								'Diciembre' ],
						monthNamesShort : [ 'Ene', 'Feb', 'Mar', 'Abr', 'May',
								'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic' ],
						dayNames : [ 'Domingo', 'Lunes', 'Martes',
								'Mi&eacute;rcoles', 'Jueves', 'Viernes',
								'S&aacute;bado' ],
						dayNamesShort : [ 'Dom', 'Lun', 'Mar', 'Mi&eacute;',
								'Juv', 'Vie', 'S&aacute;b' ],
						dayNamesMin : [ 'Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi',
								'S&aacute;' ],
						dateFormat : 'yy-mm-dd',
						weekHeader : 'Sm',
						firstDay : 0,
						yearRange : "" + anioDesde + ":'" + yearactual + "'",
						isRTL : false,
						showMonthAfterYear : false,
						yearSuffix : ''
					});
	$("#" + obj).attr("readonly", true);
}

/* DATEPICKER RANGO DE FECHAS (FECHA INICIO - FECHA FIN) */
function dpRangoFechas(cNotFechaInicial, cNotFechaFinal, dateFormat) {
	var formatoFecha = dateFormat == undefined ? "dd/mm/yy" : dateFormat;
	var dates = $("#" + cNotFechaInicial + ", #" + cNotFechaFinal + "")
			.datepicker(
					{
						changeYear : true,
						changeMonth : true,
						closeText : 'Cerrar',
						prevText : '&#x3c;Ant',
						nextText : 'Sig&#x3e;',
						currentText : 'Hoy',
						monthNames : [ 'Enero', 'Febrero', 'Marzo', 'Abril',
								'Mayo', 'Junio', 'Julio', 'Agosto',
								'Septiembre', 'Octubre', 'Noviembre',
								'Diciembre' ],
						monthNamesShort : [ 'Ene', 'Feb', 'Mar', 'Abr', 'May',
								'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic' ],
						dayNames : [ 'Domingo', 'Lunes', 'Martes', 'Miecoles',
								'Jueves', 'Viernes', 'Sabado' ],
						dayNamesShort : [ 'Dom', 'Lun', 'Mar', 'Mie', 'Juv',
								'Vie', 'Sab' ],
						dayNamesMin : [ 'Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi',
								'Sa' ],
						weekHeader : 'Sm',
						dateFormat : formatoFecha,
						firstDay : 0,
						isRTL : false,
						showMonthAfterYear : false,
						yearSuffix : '',
						yearRange : '1970:2050',
						onSelect : function(selectedDate) {
							var option = this.id == "" + cNotFechaInicial + "" ? "minDate"
									: "maxDate", instance = $(this).data(
									"datepicker"), date = $.datepicker
									.parseDate(
											instance.settings.dateFormat
													|| $.datepicker._defaults.dateFormat,
											selectedDate, instance.settings);
							dates.not(this).datepicker("option", option, date);
						}
					});
	$("#" + cNotFechaInicial).attr("readonly", true);
	$("#" + cNotFechaFinal).attr("readonly", true);
	//var myDate = new Date();
	//$("#" + cNotFechaInicial).datepicker('setDate', myDate);
}

/* CREADOR DE DATA-TABLES - CONSTRUYE UNA GRILLA PAGINADA */
function paginaDataTable(dataTable) {
	// definiciones por defecto
	dataTable["ordenaPor"] = (dataTable["ordenaPor"] != undefined) ? dataTable["ordenaPor"]
			: [ [ 0, "desc" ] ];
	dataTable["desactOrdenaEn"] = (dataTable["desactOrdenaEn"] != undefined) ? dataTable["desactOrdenaEn"]
			: [];
	dataTable["filsXpag"] = (dataTable["filsXpag"] != undefined) ? dataTable["filsXpag"]
			: 10;
	dataTable["JQueryUI"] = (dataTable["JQueryUI"] != undefined) ? dataTable["JQueryUI"]
			: true;
	dataTable["functions"] = (dataTable["functions"] != undefined) ? dataTable["functions"]
			: "";

	// funcionalidad js
	$("#" + dataTable["tabla"] + "")
			.dataTable(
					{
						"bJQueryUI" : dataTable["JQueryUI"],
						"sPaginationType" : "full_numbers",
						"iDisplayLength" : dataTable["filsXpag"],
						"oLanguage" : {
							"sEmptyTable" : "Tabla sin data disponible",
							"sInfo" : "Mostrando desde _START_ hasta _END_ de _TOTAL_ registros",
							"sInfoEmpty" : "Mostrando desde 0 hasta 0 de 0 registros",
							"sInfoFiltered" : "(filtrado de _MAX_ registros en total)",
							"sInfoPostFix" : "",
							"sInfoThousands" : ",",
							"sLengthMenu" : "Mostrar _MENU_ registros",
							"sLoadingRecords" : "Cargando...",
							"sProcessing" : "Procesando...",
							"sSearch" : "Buscar:",
							"sZeroRecords" : "No se encontraron resultados",
							"oPaginate" : {
								"sFirst" : "Primero",
								"sLast" : "&Uacute;ltimo",
								"sNext" : "Siguiente",
								"sPrevious" : "Anterior"
							},
							"oAria" : {
								"sSortAscending" : ": activar para Ordenar Ascendentemente",
								"sSortDescending" : ": activar para Ordendar Descendentemente"
							}
						},
						"fnDrawCallback" : function(oSettings) {
							eval(dataTable["functions"]); // funcion ejecutada
							// cuando cambia
							// pagina
						},
						"aoColumnDefs" : [ {
							"aTargets" : dataTable["desactOrdenaEn"], // desactivar
							// ordenamiento
							// en
							// cols...
							"bSortable" : false
						} ],
						"aaSorting" : dataTable["ordenaPor"]
					});
}